<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Javascript</title>
</head>
<body>
    <pre>
        javascript的组成：
            ECMAScript：基础和核心，规定语法结构。 简称es5
            BOM：浏览器对象模型
            DOM：文档对象模型

        BOM：提供了独立于内容与浏览器窗口进行交互的对象
        包含五大对象：
            使用BOM对象时，无需实例化，直接使用小写对象名点属性/方法即可
        一、Window 对象    描述窗口对象[顶层对象，包含下面所有对象信息]
            属性：
                closed       返回窗口是否已被关闭(true关闭，false没关)
                innerHeight  返回窗口的文档显示区的高度
                outerHeight  返回窗口的外部高度
                innerWidth   返回窗口的文档显示区的宽度
                outerWidth   返回窗口的外部宽度
                name         设置或返回窗口的名称
                opener       返回对创建此窗口的窗口的引用[获取上级窗口]
            方法：
                open()       打开一个新的浏览器窗口
                             参数：第一个相对路径URL, 第二个窗口名name,第三个窗口特征features
                alert()      带有一段消息和一个确认按钮的警告框
                prompt()     可提示用户输入的对话框
                confirm()    带有一段消息以及确认按钮和取消按钮的对话框
                             参数：提示文字。点击确定按钮返回true/取消按钮返回false
                close()      关闭浏览器窗口
                moveBy()     相对窗口的当前坐标把它移动指定的像素
                             第一个参数水平方向，第二个参数垂直方向，左上负，右下正
                moveTo()     窗口的左上角移动到一个指定的坐标
                             第一个参数水平方向，第二个参数垂直方向，左上负，右下正
                resizeBy()   按照指定的像素调整窗口的大小
                             参数顺序：width,height
                resizeTo()   把窗口的大小调整到指定的宽度和高度
                             参数顺序：width,height
                scrollBy()   按照指定的像素值来滚动内容
                             参数顺序：x,y
                scrollTo()   把内容滚动到指定的坐标
                             参数顺序：x,y
                setTimeout() 延迟器  在指定的毫秒数后执行一次
                              第一个参数：逻辑代码/函数  第二个参数：毫秒数字
                setInterval()定时器  按照指定的毫秒数为周期反复执行
                              第一个参数：逻辑代码/函数  第二个参数：毫秒数字
                clearTimeout() 清除延迟器  参数是延迟器对象
                clearInterval() 清除定时器 参数是定时器对象


        二、Navigator 对象 描述浏览器的信息
            属性：
                appCodeName  返回浏览器的代码名
                appName      返回浏览器的名称
                appVersion   返回浏览器的平台和版本信息
            方法：
                
        三、Screen 对象    描述客户端屏幕的信息
            属性：
                height       屏幕高度
                width        屏幕宽度
            方法：

        四、History 对象   描述访问过的 URL
                获取的都是访问过的地址信息
            属性：
                length   返回浏览器历史列表中的 URL 数量
                         只有同一个浏览器同一个选项卡访问的地址才会累加记录
            方法：
                back()   加载历史列表中的前一个URL
                forward()加载历史列表中的后一个URL
                go()     加载历史列表中指定页面[参照当前页前进+几页或后退-几页]
                
        五、Location 对象  描述当前 URL 路径的信息
            标准URL地址： http/https://           IP地址    :端口号         /项目名/目录/页面
                         协议：规定传输数据的规则  指定机器   指定应用服务器
                         http://192.168.111.66:5500/chapter1/ck.html
                         域名：将IP地址到页面名整体替换为好记的名称 www.baidu.com
                其中IP地址如果是本机，可以写成：
                         真实IP地址
                         127.0.0.1
                         localhost        
            属性：
                protocol 设置或返回当前 URL 的协议
                host     设置或返回主机名和当前 URL 的端口号
                hostname 设置或返回当前 URL 的主机名
                port     设置或返回当前 URL 的端口号
                pathname 设置或返回当前 URL 的路径部分
                search   设置或返回从问号 (?) 开始的 URL
                href     设置或返回完整的 URL
            方法：
                assign() 加载新的文档
                replace()用新的文档替换当前文档
                reload() 重新加载当前文档
    </pre>

    <strong>window对象：</strong><br/>
    <input type="button" value="演示window对象的open方法" onclick="fn1()" /><br/><br/>
    <input type="button" value="演示window对象的closed属性" onclick="fn2()" /><br/><br/>
    <input type="button" value="演示window对象的高宽属性" onclick="fn3()" /><br/><br/>
    <input type="button" value="演示window对象的name属性" onclick="fn4()" /><br/><br/>
    <input type="button" value="演示window对象的opener属性" onclick="fn5()" /><br/><br/>
    <input type="button" value="演示window对象的confirm方法" onclick="fn6()" /><br/><br/>
    <input type="button" value="演示window对象的close方法" onclick="fn7()" /><br/><br/>
    <input type="button" value="演示window对象的moveBy/moveTo方法" onclick="fn8()" /><br/><br/>
    <input type="button" value="演示window对象的resizeBy/resizeTo方法" onclick="fn9()" /><br/><br/>
    <input type="button" value="演示window对象的scrollBy/scrollTo方法" onclick="fn10()" /><br/><br/>
    <input type="button" value="演示window对象的setTimeout方法" onclick="fn11()" /><br/><br/>
    <input type="button" value="演示window对象的setInterval方法" onclick="fn12()" /><br/><br/>
    <input type="button" value="演示window对象的clearTimeout方法" onclick="fn13()" /><br/><br/>
    <input type="button" value="演示window对象的clearInterval方法" onclick="fn14()" /><br/><br/>
    <br/>
    <br/>
    <strong>navigator对象：</strong><br/>
    <input type="button" value="演示navigator对象的appCodeName/appName/appVersion属性" onclick="fn15()" /><br/><br/>
    <br/>
    <br/>
    <strong>screen对象：</strong><br/>
    <input type="button" value="演示screen对象的height/width属性" onclick="fn16()" /><br/><br/>
    <br/>
    <br/>
    <strong>history对象：</strong><br/>
    <input type="button" value="演示history对象的length属性" onclick="fn17()" /><br/><br/>
    <input type="button" value="演示history对象的back方法" onclick="fn18()" /><br/><br/>
    <input type="button" value="演示history对象的forward方法" onclick="fn19()" /><br/><br/>
    <input type="button" value="演示history对象的go方法" onclick="fn20()" /><br/><br/>

    <br/>
    <br/>
    <strong>location对象：</strong><br/>
    <input type="button" value="演示location对象的相关属性" onclick="fn21()" /><br/><br/>
    <input type="button" value="演示location对象的相关方法" onclick="fn22()" /><br/><br/>
    <!-- <form method="post" action="ck.html">
        URL：<input type="url" name="url" value="" required /><br/>
        <input type="submit" value="提交"/>
    </form> -->

    <br/>
    <br/>
    <br/>

    <script type="text/javascript" src="js/chapter1.js" ></script>
</body>
</html>